import http from '@src/util/http';

let fixedPrefixPath = '/api/customer';
let fixedPrefixTaskPath = '/api/task';
const ElASTICSEARCH = '/api/elasticsearch';

/**
 * 客户自定义字段唯一校验
 * @param {Object} params - 参数
 * @param {String} params params.fieldName - 自定义字段fieldName
 * @param {String} params params.fieldValue - 自定义字段value
 * @param {String} params params.id - 客户id （编辑必传）
 */
export function fieldRepeatCustomer(params: {} | undefined) {
  return http.post(`${fixedPrefixPath}/outside/pc/customer/field/repeat`, params);
}


/**
 * 产品自定义字段唯一校验
 * @param {Object} params - 参数
 * @param {String} params params.fieldName - 自定义字段fieldName
 * @param {String} params params.fieldValue - 自定义字段value
 * @param {String} params params.id - 产品id （编辑必传）
 */
export function fieldRepeatProduct(params: {} | undefined) {
  return http.post(`${fixedPrefixPath}/outside/pc/product/field/repeat`, params);
}


/**
 * 产品模板自定义字段唯一校验
 * @param {Object} params - 参数
 * @param {String} params params.fieldName - 自定义字段fieldName
 * @param {String} params params.fieldValue - 自定义字段value
 * @param {String} params params.id - 产品id （编辑必传）
 */
export function fieldRepeatProductTemplate(params: {} | undefined) {
  return http.post(`${fixedPrefixPath}/outside/pc/product/template/field/repeat`, params);
}

/**
 * 工单自定义字段唯一校验
 * @param {Object} params - 参数
 * @param {String} params params.fieldName - 自定义字段fieldName
 * @param {String} params params.fieldValue - 自定义字段value
 * @param {String} params params.id - 工单id （编辑必传）
 * @param {String} params params.templateId - 工单类型id
 * @param {String} params params.isCommon - 是否是公共字段
 */
export function fieldRepeatTask(params: {} | undefined) {
  return http.post(`${ElASTICSEARCH}/outside/es/task/taskFieldRepeat`, params);
}

/**
 * 客户产品附加组件表单字段唯一校验
*/
export function cardInfoRepeat(params: {} | undefined){
  return http.post(`${fixedPrefixPath}/outside/card/cardInfoRepeat`, params)
}

/**
 * 附加组件字段唯一性校验
 * @param {Object} params - 参数
 * @param {String} params params.fieldName - 自定义字段fieldName
 * @param {String} params params.fieldValue - 自定义字段value
 */
export function fieldRepeatCard(params: {} | undefined) {
  return http.post(`${fixedPrefixTaskPath}/outside/pc/task/cardFieldRepeat`, params);
}

/**
 * 产品注册确认重复
 * @param {String} params.fieldList -- 待确认字段和值
 * @param {String} params.id -- 产品注册id
 * @returns Promise<>
 */
 export function checkRegisterRepeat(params: {} | undefined) {
  return http.post(`/api/customer/outside/register/checkRepeat`, params);
}


/**
 * 事件表单字段唯一校验
*/
export function eventFieldRepeatCheck(params: {} | undefined){
  return http.post(`/event/eventFieldRepeatCheck`, params)
}

/**
 * 事件附加组件表单字段唯一校验
*/
export function eventCardFieldRepeat(params: {} | undefined) {
  return http.post('/event/eventCardFieldRepeat', params)
}
/**
 *  合同管理自定义字段唯一性校验
 */
export function fieldRepeatContract(params: {} | undefined) {
  return http.post(`${fixedPrefixPath}/outside/contract/checkRepeat`, params);
}

/**
 * 项目类型唯一性校验
 */
export function projectTypeCheckRepeat(params: {}) {
  return http.post(`/api/project/outside/project/checkRepeat`, params)
}


/**
 *  通用任务类型唯一性校验
 */
export function commonTaskCheckRepeat(params: {}) {
  return http.post(`/api/project/outside/project/commonTask/checkRepeat`, params)
}

/**
 * 产品类型唯一性校验
 */
export function productTypeCheckRepeat(params: {}) {
  return http.post(`/api/customer/outside/pc/catalog/checkRepeat`, params)
}